A video sequence may need to be displayed at a frame rate (frames per second or fps) that is different from the frame rate of the source video. For example, a 24 Hz progressive DVD video may need to be displayed on a 60 Hz LCD TV. The number of video frames may then be matched (e.g., by increasing the number of frames) to the frame rate (or refresh rate) using frame rate conversion algorithms implemented on a processor associated with decoding the video. The motion of objects in the video may, therefore, appear smooth and pleasant to the human eye.
Frame rate conversion algorithms are also used in format conversion, video compression, stereo vision, and video quality enhancement. During rendering of a video on a display at a frame rate higher than the source video frame rate, intermediate video frames may need to be inserted between adjacent video frames of the source video through interpolation. Frame rate conversion may be achieved by repeating the video frames and/or using linear interpolation between the adjacent video frames. However, these methods may introduce artifacts, and may cause motion blur and/or judder. Therefore, interpolation of the intermediate video frames may potentially degrade the viewing experience.
During motion-compensated frame rate conversion, motion estimation may be very complex, and estimated motion vectors may not be very representative of the interpolated video frame. This may cause artifacts when the aforementioned estimated motion vectors are used in interpolation of the new video frame between adjacent video frames. Adaptive artifact masking, black stripe processing and occlusion tracking are examples of methods that may be used to reduce the artifacts. Another approach may be to gradually shift the interpolated point towards the original frames as the motion quality worsens and then to shift back as the quality improves.
During motion estimation, three-dimensional (3D) motion may be modeled using two-dimensional (2D) information. Multiple motion vectors may project to the same pixel position on a projected plane between the adjacent video frames, thereby rendering the determination of the correct motion vector to model a region difficult. For example, when an object is scaling down in size from frame to frame, multiple motion vectors may be pointing towards the center of the object. Therefore, these multiple motion vectors may cause a conflict at the projected plane.